If you've worked on a multi-developer project, you've probably seen it. Everyone works on their own copy of the repository, finishes a batch of changes, integrates changes to the repository...and at some point, someone discovers that there is a bug.
Perhaps they or someone else were coding against uncommitted changes on their own checkout, or two developers working on seemingly unrelated components accidentally introduced a conflict. Whatever the reason, such a bug may go undiscovered for some time, making it that much harder (and more expensive!) to track down and fix.
Automated testing, paired with the Agile practice of continuous integration, can help your team to avoid these problems. With frequent integrations into the main repository, there is less risk of accumulating conflicts and regular opportunities to check for them. Applying automated testing at each integration allows robust, consistent testing to be applied against the entire system, and new bugs or conflicts are found within minutes.
There are fewer bugs and conflicts, and those that occur are fixed in less time with less frustration.
In this session, I'll go over automated testing and continuous integration principles, best practices for applying these principles, and technologies that allow you to do so.